#ifndef ICD_DATA_MODEL_H_
#define ICD_DATA_MODEL_H_
#include <stdlib.h>
typedef void (RegisterFunc)();

enum {
    REG_RECV = 0x1,
    REG_SEND = 0x2
};

typedef struct{
    int offset;
    int nr;
    void *dataPtr;
}RegisterBitMap;

typedef struct{
    int addr;
    float scale;
    void *dataPtr;
    RegisterBitMap *registerBitMap;
}RegisterDesc;

typedef struct{
    int addrStart;
    int addrEnd;
    int flag;
    RegisterDesc *registerArray;
}ModbusRegisters;

extern RegisterBitMap switchInputStatus[];
extern RegisterBitMap Warning1[];
extern RegisterBitMap Warning2[];
extern RegisterBitMap Warning3[];
extern RegisterBitMap Warning4[];
extern RegisterDesc recvArraySim[];
extern RegisterDesc recvArraySta[];
extern RegisterDesc regArraySys1[];
extern RegisterDesc regArraySys2[];
extern RegisterDesc sendArrayCtrl[];
extern RegisterDesc sendArrayDev[];
extern ModbusRegisters modbusRegistersArray[];
#endif /* ICD_DATA_MODEL_H_ */
